package com.zhou.message.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhou.framework.model.PageParam;
import com.zhou.message.model.AttachInfo;
import com.zhou.message.model.SendMessageDetailModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author lang.zhou
 * @since 2023/3/2 11:59
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SystemMessagePageDto extends PageParam implements Serializable {

    private Long sendId;
    private Long detailId;
    private Long receiveId;

    private String title;
    private String content;
    private String address;

    private String fromName;

    private String receiveName;

    private Integer fromUserId;

    private Integer receiveUserId;

    private Integer type;
    private Integer timer;
    private Integer level;
    private Integer deleteFlag;

    private Integer receiveType;



    /**
     * 发送状态
     */
    private Integer status;

    /**
     * 读取状态
     */
    private Integer readStatus;

    /**
     * 接收状态
     */
    private Integer detailStatus;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendDt;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveDt;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDt;

    private List<SendMessageDetailModel> detailQueryList = null;

    private List<AttachInfo> attachInfoList = null;
}
